Part Number Hot Search : 
1JH45 LA5752MP 2SA17971 016SA OH44L MT104 MT104 VND7N
Product Description
Full Text Search
 

To Download AL300 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  AL300 data sheets version 2.0
AL300 november 28 , 2001 2 amendments (since april 2, 1999) 04.02 .99 ?section 6.13 zoom? is added to the document. 04.15 .99 pin 131 is redefined as a gnd pin instead of a nc pin. sections 4.0 and 5.0 are modified accordingly. 05.11 .99 power consumption data and programming flowchart are provided. 05.12 .99 registers #06h, 07h, 1bh, 36h, 4eh, 50~57h, 66h, 67h, 71h, 85h, 86h, 89h and 8ah are modified due to the ver. b change. v ih modified. 05.26 .99 pin definition of r/yin<7:0>, g/uvin<7:0> and bin<7:0> is modified to reflect ver. b change. 06.15 .99 pin definition of odd and even output replaced by b and a. 07.02 .99 register table and some description added and updated. 07.13 .99 added more pll description in section 6.4 and the register definition 10h and 11h. 08.03 .99 definition of registers 80h, 84h and 88h modified. 08.25 .99 definition of registers 06h, 80h modified. definition of registers 05h, 19h, 1ah, 3bh and 3ch modified. description of #17h and #18h modified. 9. 15 .99 added section 6.14, initialization, modified section 6.7. 9 . 29 .99 registers #80h and #82h modified to reflect version b - 0 change. 10.5 .99 section 10.0 power consumption updated 8.17 .00 diagram AL300 - 11 in section ?6.11.2 rom mode? and definition of r egister 13h & 35h are modified. 6.27 .01 version 2.0 , r emove d ccir - 656 8 - bit interface support from data sheets and add timing diagram
AL300 november 28 , 2001 3 contents 1.0 features ________________________ 4 2.0 applications _____________________ 4 3.0 general description ______________ 5 4.0 pinout diagrams _________________ 6 5.0 pin definition and description _____ 7 6.0 functional description ___________ 12 6.1 input data format _______________ 12 6.2 scan m ode detection _____________ 13 6.3 automatic positioning control ______ 14 6.4 output clock pll _______________ 14 6.5 input/capture timing _____________ 17 6.6 output/display timing ____________ 18 6.7 internal timing generator _________ 19 6.8 zoom engine ____________________ 20 6.9 operating modes ________________ 20 6.9.1 non - interlaced zoom mode _________ 20 6.9.2 de - interlaced zoom mode __________ 20 6.9.3 bypass mode _____________________ 21 6.10 interrupt ______________________ 21 6.11 on screen display (osd) _________ 21 6.11.1 ra m mode _____________________ 23 6.11.2 rom mode _____________________ 23 6.11.3 osd timing ____________________ 24 6.11.4 osd bitmap/font formatting ______ 25 6.12 output data format _____________ 27 6.13 zoom _________________________ 27 6.14 initialization ____________________ 28 6.15 i 2 c programming _______________ 28 7.0 electrical characteristics _________ 31 7.1 recommended operating conditions 31 7.2 characteristics __________________ 31 7.3 timing diagram _________________ 32 8. 0 AL300 register definition ________ 33 8.1 register description ______________ 37 8.2 prog ramming flowchart ___________ 61 9.0 mechanical drawing _____________ 61 9.0 mechanical dra wing ______________ 62 10.0 power consumption ____________ 63
AL300 november 28 , 2001 4 AL300 lcd monitor controller 1.0 features converts pc?s or tv?s signals for flat panel displays supports active matrix up to 1280x1024 resolution de - interlacing support for video inputs automatic screen positioning s upport fully programmable zoom ratios independent linear zoom in h and v directions supports single and dual pixel per clock panels dithering logic to enhance color resolution for 12 - bit or 18 - bit panels built - in high speed pll user - definable font table su pporting different languages and font sizes two built - in osd windows i 2 c programmable no external memory required single 3.3 volt power with 5 volt tolerant i/o 160 - pin 28x28 mm pqfp package 2.0 applications tft lcd monitor lcd tv lcd projector with pc and/or tv input other flat panel displays tv to pc monitor scan converter progressive scan tv color space converter zoom engine memory gamma lut dithering osd panel interface scan mode detection timing generator iic interface pll panel font table rom microcontroller oclk control timing control registers hsync vsync clk input video/ graphics data AL300-01 functional block diagram
AL300 november 28 , 2001 5 3.0 general description the AL300 is designed to enable simple connection from pc?s or video devices to flat panel displays. it provides lcd/pdp monitor and projector manufacturers with a low - cost, easy solution to bring tv or pc video to lcd panels. the AL300 is equipped with a high quality zoom engine that automatically maintains full screen output display, regardless of the resolution of the incoming signal . the input video can be linearly and independently zoomed in the x and y directions. the AL300 also provides de - interlacing, filtering, and scaling support for interlaced video to be displayed on a lcd panel. two integrated on screen display (osd) windo ws provide overlay of a control menu, text, or caption on the output display. with the internal osd ram, osd bitmaps of up to 8k pixels are supported. with optional external user - defined font table rom, the AL300 osd functionality is very flexible with f ont size and display location; virtually all languages and fonts are supported. special osd effects such as translucency and blinking offer the manufacturer a unique and vivid way of presenting monitor status, control menu, or other display information. u sed with an al875 (high speed 3 - channel adc with pll, 100 - pin qfp), the AL300 (in 160 - pin qfp) offers the best cost - performance and total solution for lcd monitors or projectors, or other flat panel devices.
AL300 november 28 , 2001 6 4.0 pinout diagrams AL300 a-1 AL300 pinout diagram tvclk 1 tvhref 2 tvvs 3 tvhs 4 gnd 5 gvs 6 ghs 7 ghref 8 gclk 9 10 rin7/yin7 11 rin6/yin6 12 rin5/yin5 13 rin4/yin4 14 rin3/yin3 15 rin2/yin2 16 rin1/yin1 17 rin0/yin0 18 19 gin7/uvin7 20 21 22 23 24 25 26 27 28 bin7 29 30 31 32 33 34 35 36 37 hostclk 38 xout 39 xin 40 41 ireq 42 scl 43 sda 44 45 46 pwrdn 47 i2caddr 48 yuvin 49 test1 50 test2 51 52 rb7 53 rb6 54 rb5 55 rb4 56 57 rb3 58 rb2 59 rb1 60 rb0 61 62 gb7 63 gb6 64 gb5 65 gb4 66 67 gb3 68 gb2 69 gb1 70 gb0 71 72 bb7 73 bb6 74 bb5 75 bb4 76 77 bb3 78 bb2 79 bb1 80 bb0 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 ba0 ba1 ba2 ba3 ba4 ba5 ba6 ba7 ga0 ga1 ga2 ga3 ga4 ga5 ga6 ga7 ra0 ra1 ra2 ra3 ra4 ra5 ra6 ra7 pdspen pvs phs sclk pclkb pclka 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 romaddr11 romaddr10 romaddr9 romaddr8 romaddr7 romaddr6 romaddr5 romaddr4 romaddr3 romaddr2 romaddr1 romaddr0 romdata0 romdata1 romdata2 romdata3 romdata4 romdata5 romdata6 romdata7 vcoin opllclk oclk ohsfb ohsref ihsref gin6/uvin6 gin5/uvin5 gin4/uvin4 gin3/uvin3 gin2/uvin2 gin1/uvin1 gin0/uvin0 bin6 bin5 bin4 bin3 bin2 bin1 bin0 romaddr12 romaddr13 romaddr14 romaddr15 vcc vcc vcc vcc vcc vcc vcc vcc vcc vcc vcc vcc resetb pllvcc pllgnd gnd gnd gnd gnd gnd gnd gnd gnd gnd gnd gnd gout3 gout2 gout1 gnd gnd nc
AL300 november 28 , 2001 7 5.0 pin definition and description following is the pin definition of the AL300: pin name type pin # note video interface tvclk in (cmosd) 1 video clock from video source tvhref in (cmosd) 2 video horizontal active data reference this signal is used to indicate valid data o f the yuv input. tvvs in (cmoss) 3 video vertical sync signal tvhs in (cmoss) 4 video horizontal sync signal graphic interface gvs in (cmoss) 6 graphic vertical sync signal ghs in (cmoss) 7 graphic horizontal sync signal ghref in (cmos) 8 graphic hor izontal active data reference gclk in (cmosd) 9 graphic input clock r/yin<7:0> in (cmos) 11 - 18 red input when in rgb mode y input when in ccir601 422 and 444 modes g/uvin<7:0> in (cmos) 20 - 27 green input when in rgb mode cbcr input when in ccir601 422 m ode cb input when in ccir601 444 mode refer to register #1bh for details. bin<7:0> in (cmos) 29 - 36 blue input when in rgb mode cr input when in ccir601 444 mode refer to register #1bh for details. host interface hostclk out (cmos) 38 buffered output of the clock input for host interface such as a micro - controller xout out (cmos) 39 crystal output xin in (cmos) 40 crystal input ; the frequency provided is for i 2 c sampling and for output reference timing when input sync signals are missing or undetectable . usually in the range of 10~50mhz. refer to section 6.7 internal timing generator for details.
AL300 november 28 , 2001 8 ireq out (cmos) 41 interrupt request , active high scl in (cmoss) 42 i2c serial clock input sda inout (comssu) 43 i2c serial data input/output gout1 out ( cmos) 81 general purpose output connected to register 0x1b bit 2 gout2 out (cmos) 82 general purpose output connected to register 0x1b bit 3 gout3 out (cmos) 83 general purpose output connected to register 0x1b bit 1 configuration pwrdn in (cmosd) 46 p ower down 0, normal operation 1, power down i2caddr in (cmosd) 47 i2c bus slave address select 0, write address = 70, read address = 71 1, write address = 72, read address = 73 yuvin in (cmosd) 48 yuv input 0, rgb format video input 1, ccir yuv format vi deo input refer to rin, gin, bin pins test1 in (cmosd) 49 test pin test2 in (cmosd) 50 test pin panel/display interface rb<7:0> out (cmos) 52 - 55, 57 - 60 right pixel of interleaved red output in dual pixel mode valid when register 0x43 bit4 = ?1?. data a re output with pclkb. for AL300 ver. a, the b data lag a data by 90 (half sclk). for AL300 ver. b, a and b data are aligned. gb<7:0> out (cmos) 62 - 65, 67 - 70 right pixel of interleaved green output in dual pixel mode valid when register 0x43 bit4 = ?1?. data are output with pclkb.
AL300 november 28 , 2001 9 for AL300 ver. a, the b data lag a data by 90 (half sclk). for AL300 ver. b, a and b data are aligned. bb<7:0> out (cmos) 72 - 75, 77 - 80 right pixel of interleaved blue output in dual pixel mode valid when register 0x43 bit4 = ?1?. data are output with pclkb. for AL300 ver. a, the b data lag a data by 90 (half sclk). for AL300 ver. b, a and b data are aligned. pclka out (cmos) 84 leading pixel clock of interleaved video output for right data in dual pixel mode. polarity is p rogrammable pclkb out (cmos) 85 lagging pixel clock of interleaved video output for right data in dual pixel mode. polarity is programmable. default pclkb lags pclka by 180 (one sclk). sclk out (cmos) 86 display pixel clock (for single pixel per clock mode) phs out (cmos) 88 panel/display hsync can be programmed to either polarity. pvs out (cmos) 89 panel/display vsync can be programmed to either polarity. pdspen out (cmos) 90 panel/display display enable ; used to indicate active output pixels (hde). can be programmed to either polarity. ra<7:0> out (cmos) 92 - 95, 97 - 100 red data output when register 0x43 bit4 = ?0?, data are output every sclk. when register 0x43 bit4 = ?1?, the left pixel of interleaved red data are output with pclka. ga<7:0> out (c mos) 102 - 105, 107 - 110 green data output when register 0x43 bit4 = ?0?, data are output every sclk. when register 0x43 bit4 = ?1?, the left pixel of interleaved red data are output with pclka.
AL300 november 28 , 2001 10 ba<7:0> out (cmos) 112 - 115, 117 - 120 blue data output when regis ter 0x43 bit4 = ?0?, data are output every sclk. when register 0x43 bit4 = ?1?, the left pixel of interleaved red data are output with pclka. pll (phase lock loop) interface ihsref out (cmos) 123 input hsync reference, buffered and polarity adjusted, usu ally for input pll to regenerate input pixel clock. always positive polarity. when no input hsync is present, virtual ihsref can be generated by programming registers 41h & 42h ohsref out (cmos) 124 output hsync reference, for output pll to generate outp ut pixel clock. always positive polarity. ohsref is either equivalent to ihsref or the equally divided ihsref. refer to registers 03h, 10h~13h. ohsfb out (cmos) 125 output pll feedback ; works with ohsref to generate output pixel clock oclk in (cmosd) 126 output clock, connected to opllclk when internal pll is used; connected to external pll clock output when external pll is used opllclk out (cmos) 127 recovered output clock generated by the internal pll vcoin in 129 pll external vco filter circuit in put osd rom interface romdata <7:0> in (cmosd) 132 - 135, 137 - 140 osd rom data romaddr <15:0> out (cmos) 160 - 157, 155 - 152, 150 - 147, 145 - 142 osd rom address power, ground, reset resetb in (cmos) 122 reset, active low pllvcc power 128 vcc of internal pll , 3.3v pllgnd ground 130 gnd of internal pll vcc power 19, 37, 51, 61, digital vcc , 3.3v
AL300 november 28 , 2001 11 66, 91, 96, 111, 116, 121, 141, 151 gnd ground 5, 10, 28, 45, 56, 71, 76, 87, 101, 106, 131, 136, 146, 156 digital ground nc - 44 no connection remarks: cmosd: c mos with internal pull - down cmoss: cmos with schmitt trigger cmossu: cmos with schmitt trigger and internal pull - up
AL300 november 28 , 2001 12 6.0 functional description the AL300 provides a simple way of connecting video or graphic sources to a flat panel display such as a lcd. a lcd panel normally supports only one fixed resolution of digital non - interlaced data format; therefore, it can not be connected directly to a video source due to the difference in format. additionally, vga or tv video usually are in analog format and can be of many different resolutions and refresh rates. the AL300 is designed to change the various video/graphics formats into a fixed data format to be accepted by a specific lcd panel. the input video format can be 24 - bit digital rgb or 16 - bit digital yuv . different video sources can be connected to an AL300 via certain digitization devices. for example, analog ntsc/pal/secam can be connected to the AL300 via a digital video decoder. analog vga rgb signal can be connected to the AL300 after a high - speed three - channel analog - to - digital converter (adc), such as the al875. alternatively, digital pc graphics can also be applied to the AL300 through a panel link or lvds (low voltage differential signal) receiver. the scan rate and resolution of the incomin g video are recognized by the scan mode detection circuits. the detected mode information stored in the AL300 registers is read through the i 2 c bus by the firmware. the firmware then will decide how to program the chip such that the input video can be sc aled up to fit into the full screen size of the display. to achieve this, the linear zoom engine needs to be programmed to properly scale the input video to the desired output resolution. also, the frequency of the display clock generated from the inter nal pll needs to be programmed to the correct level. after the digital data is scaled, optional dithering is performed to retain color resolution for lcd panels that support only 12 - bit or 18 - bit color resolutions. the processed data is overlaid with int ernal on - screen - display (osd) for display status or control menu. 6.1 input data format the AL300 accepts three input data formats: 24 - bit rgb, 16 - bit ccir601 422 and 24 - bit ccir601 444 data. the clock and sync signal pins are separate for rgb or yuv w hile the yuv data share the same pins as the rgb data. the input video format is defined by the yuvin pin. diagram AL300 - 06 input data format shows how to connect the AL300 for each format.
AL300 november 28 , 2001 13 yuv input data is selected when the yuvin pin is high. t his hardware pin can be disabled by ?softconfig? (in register #03h, general). when the bit is set to one, the input video format is controlled by ?videoin? (in register #02h, boardconfig). rgb input data is selected when the yuvin pin is low. 6.2 scan m ode detection the resolution of the analog input is determined by two hardware registers, linerate (reg. #61h and #62h) and invtotal (reg. #63h and #64h), which store the detected input line rate and the AL300 data (rgb 444) 24-bit interface AL300 digital rgb 444 input rout gout bout r/y[7:0] g/uv[7:0] b[7:0] 8 8 8 yuvin 0 AL300 data (ccir601 444) 24-bit interface AL300 digital yuv 444 input y r/y[7:0] g/uv[7:0] b[7:0] 8 yuvin 1 v 8 8 u AL300 data (ccir601 422) 16-bit interface AL300 digtial yuv 422 input y uv r/y[7:0] g/uv[7:0] b[7:0] 8 8 yuvin 1 AL300-06 input data format
AL300 november 28 , 2001 14 detected total number of vertical lines, respective ly. the line rate and frame rate values can be obtained by counting the clock provided from xin pin and/or calculations and some calculations. when the line rate of the input video changes, a programmable interrupt signal is sent out to the micro - contr oller for mode setting or other controls. details about this can be found in the interrupt section. 6.3 automatic positioning control the active video (horizontal and vertical) starting and ending positions are detected to ensure that the whole picture f its into the displayable region of the screen. the threshold of the minimum active video value is user - definable. position detection can be performed for any row or column across the whole screen and it is programmable. related registers are: hnumber (h orizontal line number, reg. #70h), data_th (data threshold, reg. #71h), hde_st (horizontal active start high and low, reg. #72h and #73h), hde_end (horizontal active end high and low, reg. #74h and #75h), vcolumn (selected vertical column number, reg. #79h), vde_st (vertical active start high and low, reg. #7ah and #7bh), and vde_end (vertical active end high and low, reg. #7ch and #7dh). details about these registers can be found in the register definition section. 6.4 output clock pll the interna l pll can regenerate a display clock from the incoming horizontal sync signal. the maximum multiplication factor (n) is 2047 defined by register plldiv (reg. #10h and #11h). the n value is derived from the following formula: the following drawing sho ws how the input hsync is divided by the pll to generate the display clock, which in turn generates the output hsync. plldiv(n) = vo vi where, ho is the total number of pixels per output line vo is the output active lines per frame vi is the input active lines per frame ho
AL300 november 28 , 2001 15 if the scan rate of input video hsync is much slower, as in the case of interlaced video input, pllrefdiv can evenly divide the input h sync into small segments of pll reference input to achieve a higher multiplication rate. this ?pseudo? hsync is generated by equally dividing the input hsync into 2 or more segments. the length of the pseudo hsync is defined by the scaling divider (m) in register pllrefdiv (reg. #12h and #13h). the following diagram shows the relationship among these signals: following is the AL300 internal pll block diagram: input hsync output hsync display clock n < 2047 say, 1344 for xga input hsync output hsync display clock after applying m, n is reduced to be < 2047 "pseudo" hsync (from refdiv m) need an n > 2047 AL300-30 hsync and reference clock say, 1344 for xga
AL300 november 28 , 2001 16 the AL300?s internal pll has better performance at high frequency than low frequency when the output rate is within 110mhz. to take advantage of this property, there are four ?divide - by - 2? dividers for optimal operation. the feb1 and feb2 work as frequency multipliers; the pre and out work as frequency dividers. to turn on or off these divi ders, control register #11h. the recommended values for the register setting at different input modes are as follows: ref freq. (khz) fout (mhz) divider value feb2 feb1 out pre divider reg. 11h (hex) reg. 10h (hex) 31.5 25.2 800 1 0 1 0 011,00011110 a3 1 e 37.5 31.5 840 1 0 1 0 011,01000110 a3 46 37.88 40 1056 1 1 1 0 010,00001110 e2 0e 46.75 49.368 1056 1 1 1 0 010,00001110 e2 0e 48.0 64.8 1350 0 1 0 0 010,10100001 42 a1 56.5 74.92 1326 0 1 0 0 010,10010101 42 95 60.0 78.72 1312 0 1 0 0 010,10001110 42 8e 64 85.5 1336 0 1 0 0 010,10011010 42 9a 64 107.52 1680 0 1 0 0 011,01000110 43 46 the output pixel clock can be either from the internal pll locked to the ref_in clock, or from the external clock pin, oclk. the ref_in reference clock is the gh s, tvhs, or the pseudo - reference clock generated by the pllrefdiv. the frequency of the reference clock ref_in is between 10 khz and 1 mhz. the output frequency is adjustable and the maximum frequency is up to 110 mhz. details about the pll related regis ters can be found in the register definition section. opllclk clock output 10 feb2 feb1 divider out buffer ref in (ghs, tvhs, or the ref. generated by m ) pre phase detector charge pump vco /2 /2 /n divider /2 /2 vcoin ( loop filter ) AL300-29 internal pll block diagram
AL300 november 28 , 2001 17 6.5 input/capture timing the input timing defines the active region of the input video/graphics to be processed and eventually displayed on the screen. the ?captured? window for display is defined by registers caphstart (reg. #20h and #21h), caphsize (reg. #22h), capvstart (reg. #24h and #25h), and capvend (reg. #26h and #27h). the output vertical sync position relative to the input vertical sync is defined by register framevstart (reg. #28h and #29h) . all the parameters are relative to the leading edges of the input hsync and vsync. the following diagram shows the input active window timing and the related registers. hde input hsync start hsync reference start (0) input clock horizontal capture start (reg #20h, 21h) horizontal capture size vde input vsync start vsync input hsync vertical capture start (reg #24h, 25h) vertical capture end (reg #26h, 27h) vertical capture size input active region AL300-07 input video timing (reg #22h x 8)
AL300 november 28 , 2001 18 6.6 output/display timing the output display resolution, sync signal duty cycles , and active display position are fully programmable. they are defined by registers dsphtotal (reg. #30h and #31h), dsphsend (reg. #32h), dsphdestart (reg. #33h), dsphdeend (reg. #34h), dspvdestart (reg. #37h and #38h), and dspvdeend (reg. #39h and #3ah). the following diagram shows the output active window timing and the related registers. display hde display hsync horizontal display start (reg #33h, 34h) horizontal display size display vde display vsync vertical display size display active region horizontal total (reg #30h, 31h) h-sync end (reg #32h x 8) vertical display start (reg #37h, 38h) vertical display end (reg #39h, 3ah) v-sync end (reg #35h) AL300-08 output video timing
AL300 november 28 , 2001 19 the output hsync delay relative to the input hsync is defined by framedelay (reg. #3bh), and framedelayodd (reg. #3ch). for interlaced video input, framedelayodd i s half a line more than framedelay. for non - interlaced video input, framedelayodd has the same value as framedelay. 6.7 internal timing generator the AL300 normally synchronizes to the external video source timing provided by a graphic chip (or recov ered by an external pll) or a video decoder. it can also generate internal reference timing from the clock provided by the xin pin. when no external video source is connected or the input timing is not supported by the firmware, the internal hsync and vsyn c can be used to generate timing for the osd display to show monitor status, warning signals and/or other messages. the desired internal hsync and vsync frequency can be generated by programming the refhtotal (reg. #41h) and refvtotal (reg. #42h) register s. if the xin frequency is 14.31818 mhz and the expected vertical frame rate is 60 hz, the following table shows the register values for some typical resolutions. refhtotal (reg. #41h) refvtotal (reg. #42h) remarks 640x480 450 520 14.3mhz =: 450 x 520 x 60 800x600 376 632 14.3mhz =: 376 x 632 x 60 1024x768 296 800 14.3mhz =: 296 x 800 x 60 1280x1024 216 1072 14.3mhz =: 216 x 1072 x 60 to detect if there is input signal, turn on vsyncirq by writing ?10? to register #40h<1:0>. ?1? status of regi ster #65h<1> indicates that input vsync is detected. reset register #40h as ?00h? before next input vsync detection is needed. when input vsync is missing, turn on the internal timing as mentioned above. if input vsync is detected but the mode is not sup ported by the firmware (such as out - of - spec resolution), also turn on the internal timing to avoid sync conflict. in addition, set register #43h<6> as 1and write 00h to ?color 3? registers (#b9h~bbh) to blank the input graphics/video. turn on the osd to show warning signals (such as ?out of sync?). to detect if ?out of sync? status is changed, turn on linerateirq by writing ?01? to register #40h<1:0>. ?1? status of register #65h<0> indicates that input mode is changed. the firmware should then perform m ode detection. if a valid input mode is detected, turn off the internal timing. other control algorithm is also available.
AL300 november 28 , 2001 20 6.8 zoom engine the AL300 has two independent horizontal and vertical scale engines performing proprietary scaling operations. th e range of linear scaling can be from 1 up to 8 times. the horizontal interpolation coefficient is generated by the 11 - bit hratio (reg. #14h and #15h), which defines the scaling ratio with the 3 msb as the integer part and the 8 lsb as the mantissa part . the hratio is derived from the size of the displayed input video and the actual scaled display size. the related registers include caphstart (reg. #20h and #21h), caphend (reg. #22h), dsphdestart (reg. #33h), and dsphdeend (reg. #34h). the initial valu e for the interpolation coefficient generator is defined by hinitphase (reg. #18h). the vertical interpolation coefficient generator, the 15 - bit vratio (reg. #16h and #17h) defines the scaling ratio with the 3 msb being the integer part and the 12 lsb be ing the mantissa part. the vratio is derived from the size of the displayed input video and the actual scaled display size. the registers involved include capvstart (reg. #24h and #25h), capvend (reg. #26h and #27h), dspvdestart (reg. #37h and #38h), and dspvdeend (reg. #39h and #3ah). the initial value for the interpolation coefficient generator is defined by vinitphase (reg. #1ah). all of these registers can be used to achieve optimum sharpness and smoothness results for different scaling ratios. 6.9 operating modes the AL300 operates in three different modes: non - interlaced zoom mode, de - interlaced zoom mode, and bypass mode 6.9.1 non - interlaced zoom mode non - interlaced zoom mode is for synchronizing the output display with the non - interlaced input video with a zooming ratio of larger than or equal to one. the output video can have the same or higher resolution than the input video. first of all, the output timing parameters are decided depending on the size of the display device. secondly, the fi rmware determines what area of picture needs to be displayed with the help of internal scan rate and position detection circuits. the input timing parameters are set accordingly. the next step is to set the parameters of the scaling engine by the ratio b etween the output video and input video. details about programming the related registers can be found in the register definition section. 6.9.2 de - interlaced zoom mode de - interlaced zoom mode is different from non - interlaced zoom mode in that the input video is interlaced and needs to be de - interlaced. some parameters need to be treated differently for different operations required in odd and even fields in interlaced modes compared to non - interlaced modes. details about programming the related register s can be found in the register definition section.
AL300 november 28 , 2001 21 6.9.3 bypass mode this mode is only good for the application in which the input and output resolution are the same. basically, the input clock and h - sync timing are used for the output timing and therefo re the picture is not zoomed. however, the data can be processed by all of the internal data processing hardware and osd circuit, except for the scaling function. only some registers that are used for the previous two modes are affected. details about pr ogramming the related registers can be found in the register definition section. 6.10 interrupt the interrupt signal can be triggered by one or a combination of any of the three following events. 1. when the line rate of the input video changes. 2. when inpu t vsync arrives. 3. when the odd field arrives. register ireqsource (reg. #40h) decides which interrupt event(s) are used to trigger the interrupt. the first interrupt source is helpful in automatically detecting the mode changes. the second interrupt source can be used to do a periodic routine during the vertical blanking region. the last interrupt source can be used to do a periodic routine in the odd field of interlaced input video. upon receiving the interrupt request from the AL300, the micro - con troller needs to first check the interrupt event by reading the register ireqstatus (reg. #65h) to decide what operations to perform. after the interrupt routine is complete, the interrupt status register is reset by writing the register ireqsource (reg. #40h) and then it becomes ready for the next interrupt request. 6.11 on screen display (osd) two independent on - screen - display (osd) windows provide overlay for a control menu, text, or caption on the output display. the AL300?s osd is very flexible in t he way that the font, size, and display location are all programmable. the internal 1k byte sram provides storage for the osd information. the osd can be operated with only this internal sram or with an external rom to store font tables or even larger bi tmaps.
AL300 november 28 , 2001 22 the osd key from the osd controller selects the colors to be overlaid on the screen based on the data stored in ram or rom as well as the control registers that decide when and where these colors are displayed on the screen. the osd key is used to select four out of 16 million osd colors. the selected osd color data is then passed through the internal blink control circuits. blinking is supported in 2 - byte font addressing rom mode only and will be further described later. the blinking frequenc y is controlled by the value defined by blinkctrl (reg. #36h) with vysnc as the reference counting clock. the blinking information is stored as data embedded in character codes stored in ram. after the processed blinking data is passed to the logic opera tion section, the logic operation section performs special osd effects such as translucent, opaque, negative, and posterization. the logic operation feature, which provides a vivid and unique way of implementing display menu and status, is controlled by t he foreop (reg. #81h) register. the fading operation block creates the effect of smoothly fading in and fading out the osd titles or menu. fading is controlled by register fadealpha (reg. #82h). following is the block diagram of the AL300 osd. color0 color1 color2 color3 color select blinking and logic operation fading operation alpha foreop blink 1k ram osd control rstb clk hclk timer vcnt hcnt ramdata ramaddr external rom 64k (optional) romaddr romdata AL300-09 osd block diagram video+osd video data osd parameters from AL300 osdkey
AL300 november 28 , 2001 23 6.11.1 ra m mode if external rom is not used, osd data can be stored in the internal 1k byte of ram. in this mode, the osd data is stored in bitmap form, which is written by the host through the i 2 c bus. two independent osd ram address generators generate addresses for indexing the osd data stored in ram. the data written from the ram are unpacked to either 1 - bit or 2 - bit data depending if 2 - color mode or 4 - color mode is selected. msb bits are read out as osd data before the lsb bits. the following diagram shows h ow the osd key generator works in ram mode. the ramaddrst1 (reg. #92h) and ramaddrst2 (reg. #a2h) are the starting address pointers indicating the starting addresses of the bitmaps of osd1 and osd2. ramstride1 (reg. #93h and #8bh) and ramstride2 (reg . #a3h and #8ch) are the line offsets in the ram for osd1 bitmap and osd2 bitmap, respectively. 6.11.2 rom mode if external rom is used to store font tables or bitmaps, the internal ram is used to store the font code or index for assessing a specific fon t (a font can be viewed as a pre - defined bitmap). the addresses of the font indexes are generated first to retrieve the index address to a specific font or bitmap. the following rom address generators then calculate the address of the font stored in rom based on the font index read from ram. the 8 - bit data read from rom is then unpacked into 1 - bit or 2 - bit data depending if 2 - color mode or 4 - color mode is selected. msb bits are read out as osd data before the lsb bits. this is illustrated as follows: ram address generator 1 ram address generator 2 mux 512k x 16 ram unpacker 9 16 1/2 AL300-10 osd key generator in ram mode osdkey ram address generator 1 ram address generator 2 mux 512k x 16 ram 9 16 rom address generator 1 rom address generator 2 mux rom unpacker osdkey 1/2 ramaddr ramdata 16 romaddr 8 romdata
AL300 november 28 , 2001 24 the font addressing code can be in 1 - byte or 2 - byte formats. blinking function is only supported in 2 - byte font index format. ramaddrst1 (reg. #92h) and ramaddrst2 (reg. #a2h) are the starting addresses of the font index codes of osd1 and osd2 stored i n ram. the font index is used to address the font data store in rom. the address of a data of a specific font is calculated as: address = romaddrst + (osd font index * fontaddressunit) + (osd line count * fontlinesize) the data format stored in ram for addressing of osd bitmap data in rom mode is illustrated in the following diagram. 6.11.3 osd timing the register osdhstart (reg. #90h and #a0h) refers to the horizontal starting position of the osd window relative to the leading edge of hsync. osdvst art (reg. #91h and #a1h) refers to the vertical starting position of the osd window relative to the leading edge of vsync. the bmaphsize (reg. #94h, #95h, #a4h, and #a5h) defines the horizontal visible portion of the font (it can be smaller or equal to the actual horizontal font size). bmaphtotal (reg. #96h, #97h, #a6h and #a7h) is bmaphsize plus the horizontal size of the border or gap in between fonts. the bmapvsize (reg. #98h, #99h, #a8h, and #a9h) defines the vertical visible portion of the font (it c an be smaller or equal to the actual vertical font size). bmapvtotal (reg. #9ah, #9bh, #aah, font index for two byte data mode 1st character code <7:0> blink <3> foreground color <7:6> background color <5:4> character code <10:8> 00h blink <3> foreground color <7:6> 512th character code <7:0> 3feh blink <3> background color <5:4> foreground color <7:6> font index for one byte data mode 1024th character code <7:0> 3ffh 1st character code <7:0> 00h 2nd character code <7:0> 3rd character code <7:0> 4th character code <7:0> 5th character code <7:0> 6th character code <7:0> 01h 02h 03h 04h 05h 06h character code <7:0> 01h 02h 03h 3ffh character code character code 7th character code <7:0> background color <5:4> AL300-11 osd data addressing in rom mode
AL300 november 28 , 2001 25 and #abh) is bmapvsize plus the vertical size of border or gap in between fonts. the total numbers of fonts in the horizontal and vertical directions are defined by iconhtotal (reg. #9ch and #ach) and iconvtotal (reg #9dh and #a d h). the screen timing diagram of the osd window is as follows: 6.11.4 osd bitmap/font formatting the following two examples show how the bitmaps or fonts should be formatted for osd ram or rom. the first example uses 2 - bit per pixel formatting: bmaphtotal reg.# 96h,97h a6h,a7h bmapvtotal reg.# 9ah,9bh aah,abh bmapvsize reg.# 98h,99h a8h,a9h row 1 index 1 bmaphsize reg.# 94h,95h a4h,a5h row 1 index 2 row 1 index 3 row 2 index 1 row 2 index 2 row 2 index 3 row 3 index 1 row 3 index 2 osdhstart reg.# 90h,a0h iconhtotal = 3 - 1 = 2 reg. # 9ch,ach iconvtotal = 3 - 1 = 2 reg.# 9dh,adh hgap vgap foreground background osdvstart reg.# 91h,a1h hsync osdhde vsync osdhde AL300-15 osd scren timing diagram
AL300 november 28 , 2001 26 the next example uses 1 - bit per pixel formatting: n<7:0> n+5<7:0> n+10<7:0> n+15<7:0> 1:0 3:2 5:4 7:6 n+110<7:0> n+1<7:0> n+2<7:0> n+3<7:0> n+4<7:0> n+111<7:0> n+112<7:0> n+113<7:0> n+114<7:0> n+115<7:0> font line size = 5 bytes bitmap horizontal size = 18 pixels 0 0 0 0 0 0 0 0 0 0 h 3 c 0 0 0 0 0 3 c 0 h 3 c 0 0 0 0 0 f 0 0 h 3 c 0 0 0 0 3 c 0 0 h AL300-19 osd bitmap_font formatting 2-bit per pixel n<7:0> n+3<7:0> n+6<7:0> n+9<7:0> 0 1 2 3 4 5 6 7 n+1<7:0> n+2<7:0> n+66<7:0> n+67<7:0> n+68<7:0> font line size = 3 bytes bitmap horizontal size = 18 pixels 0 0 0 0 0 0 h 6 0 0 1 8 0 h 6 0 0 3 0 0 h 6 0 0 6 0 0 h AL300-20 osd bitmap_font formatting 1-bit per pixel
AL300 november 28 , 2001 27 6.12 output data format different output data formats for various types of panels are supported. data can be programmed to be single pixe l per clock mode or dual pixels per clock mode. this is controlled by ?dualout? (in register outputcontrol, #43h). when dualout = ?0?, output is single pixel per clock. when dualout = ?1?, output is dual pixels per clock. dithering, controlled by ?dith mode? (in register dither, reg. #06h), is performed to retain color resolution for lcd panels that support only 12 - bit or 18 - bit color depths. twenty - four - bit rgb data are output when dithmode = ?00?, 18 - bit rgb data are output when dithmode = ?01?, and 1 2 - bit rgb data are output when dithmode = ?10?. 6.13 zoom the AL300 can scale the input resolution up to 8x8 times. however, since the AL300 does not perform frame rate conversion, nor does it store the whole input frame, full zoom functionality is not a vailable. nevertheless, the AL300 can zoom the scaled screen up to approximately1.8x1.8 times (depending on the panel timing tolerance) by capturing only part of the input pixels and using a higher scaling factor. the following drawing shows how this is performed: hsync hde hsync hde hsync hde hsync hde capture 3/5 of input hde input (pc/tv) output (panel) input (pc/tv) output (panel) regular full screen to full screen scaling zoom: partial screen to full screen scaling note: blanking is very long in zoom mode; some panels may not accept this AL300-22 zoom mode (vga scale up to xga) 1024 pixels 640 pixels 384 pixels 1024 pixels
AL300 november 28 , 2001 28 6.14 initialization the AL300 does not need initialization. however, for panels that need all data and control signals to be low during initialization, the AL300 register #43h<6> can be set to 1 to pull all output data pins low by writing 00 h to ?color 3? registers (#b9h~bbh). the AL300 phs, pvs, pdspen, and clock outputs are low before programming. 6.15 i 2 c programming the AL300 i 2 c programming interface follows the philips i 2 c standard. the i 2 c interface consists of the scl (clock) and s da (data) signals. data can be written to or read from the AL300. for both read and write, each byte is transferred msb first and lsb last, and the sda data bit is valid when the scl is pulled high. the read/write command format is as follows: write : < write sa>

read :

following are the details: < s >: start signal scl sda high high high low the start signal is high to low transition on the sd a line when scl is high. < write sa >: write slave address: 70h or 72h < read sa >: read slave address: 71h or 73h < register index >: value of the AL300 register index. < a >: acknowledge stage the acknowledge - related clock pulse is generated by the host (master). the host releases the sda line (high) for the AL300 (slave) to scl sda sda scl sda scl scl sda scl data bit [1] or na data bit [0] or a start bit [s] stop bit [p] not significant al250-15 i2c drawing
AL300 november 28 , 2001 29 pull down the sda line during the acknowledge clock pulse. < na >: not acknowledged stage the acknowledge - related clock pulse is generated by the host (master). the host releases the sda line (high) during the acknowledge clock pulse, but the AL300 does not pull it down during this stage. < data >: data byte write to or read from the register index. in read operation, the host must release the sda line (high) before the first clock pu lse is transmitted to the AL300. < p >: stop signal scl sda high low high high the stop signal is low to high transition on the sda line when scl is high. suppose data f0h is to be written to register 0fh using write slave address 70h, the timing is as fo llows: suppose data is to be read from register 55h using read slave address 71h, the timing is as follows: start slave addr = 70h ack ack ack stop index = 0fh data = f0h sda scl AL300-13 i2c write timing
AL300 november 28 , 2001 30 more information on the AL300 functionality can be found in the register definition section. start slave addr = 70h ack ack ack index = 55h read slave addr = 71h sda scl AL300-14 i2c read timing nack stop data read cycle stop start
AL300 november 28 , 2001 31 7.0 electrical characteristics 7.1 recommended operating conditions parameter min max unit vdd supply voltage +3.0 +4.0 v tamb ambient operating temperature 0 +70 c 7.2 characteristics parameter test conditions min max unit i dd supply current 80 300 ma p power consumption 240 1200 mw v ih hi - level input voltage 0.7vdd 5.5 v v il lo - level input voltage - 0.5 +0.8 v v oh hi - level output voltage 2.4 vdd v v ol lo - level output voltage - 0.5 v i o output current, data - 0.5v AL300 november 28 , 2001 32 7.3 timing diagram AL300 input timing tvclk/ gclk r/yin[7:0] g/uvin[7:0] bin[7:0] t ck t ckh t ckl t ih t is AL300 single pixel output timing sclk ra[7:0] ga[7:0] ba[7:0] t ck2 t oh t ck2h t ck2l t pd t f t r AL300 dual pixel output timing pclkb t pd t oh sclk pclka ra[7:0] ga[7:0] ba[7:0]
AL300 november 28 , 2001 33 8. 0 AL300 register definition following is the summary of the AL300 control registers: register r/w address function configuration companyid r 00h company id (46h) revision r 01h revision number boardconfig r/w 02h board configuration general r/w 03h general control family r 04h chip family number polarity r/w 05h polarity control dither r/w 06h dither control adjustment r/w 07h adjustment control output clock pll and zoom ratio plldiv r/w 10h, 11h pll divider number pllrefdiv r/w 12h, 13h displ ay pll reference input divider number hratio r/w 14h, 15h horizontal scale ratio vratio r/w 16h, 17h vertical scale ratio hinitphase r/w 18h horizontal zoom scaler initial phase vinitphaseodd r/w 19h vertical zoom scalar initial phase in odd field of i nterlaced input vinitphase r/w 1ah vertical zoom scalar initial phase gout r/w 1bh panel power control input timing caphstart r/w 20h, 21h horizontal capture start position caphend r/w 22h horizontal capture size resettest r/w 23h testing capvstart r/w 24h, 25h vertical capture start position capvend r/w 26h, 27h vertical capture end position framevstart r/w 28h, 29h display vertical counter start position relative to input vertical counter
AL300 november 28 , 2001 34 output timing dsphtotal r/w 30h, 31h display horizontal total dsphsend r/w 32h output display horizontal sync end position dsphdestart r/w 33h output horizontal display start dsphdeend r/w 34h output horizontal display end dspvsend r/w 35h output display vertical sync end position blinkctrl r/w 36h osd bli nking control dspvdestart r/w 37h, 38h output vertical display start position dspvdeend r/w 39h, 3ah output vertical display end position framedelay r/w 3bh output hsync delay adjustment relative to input hsync framedelayodd r/w 3ch output hsync delay adjustment relative to input hsync in odd field interrupt and internal timing ireqsource r/w 40h interrupt source refhtotal r/w 41h horizontal total of internal reference timing refvtotal r/w 42h vertical total of internal reference timing outputcontr ol r/w 43h output control look - up table rlutport r/w 48h red lut write data port glutport r/w 49h green lut write data port blutport r/w 4ah blue lut write data port lutwaddr r/w 4bh address of lut wrote port osd ram osdramwaddr r/w 4ch, 4dh osd ram write address osdramwport r/w 4eh osd ram write port blanking/border control hblankstart r/w 50h, 51h horizontal blank start hblankend r/w 52h, 53h horizontal blank end vblankstart r/w 54h, 55h vertical blank start vblankend r/w 56h, 57h vertical bl ank end input timing measurement inputstatus r 60h input status linerate r 61h, 62h input line rate, which is counted by clock from xin pin
AL300 november 28 , 2001 35 invtotal r 63h, 64h total vertical line count of input video ireqstatus r 65h interrupt status inhtotal r 66h, 67h input horizontal pixel total automatic positioning hlinenumber r/w 70h horizontal line number for horizontal active start and end detection datathreshold r/w 71h data threshold value used to determine non - blanking pixel hdestart r 72h, 73h detecte d horizontal active start pixel position hdeend r 74h, 75h detected horizontal active end pixel position vcolumn r/w 79h vertical column for vertical active start and end detection vdestart r 7ah, 7bh detected vertical active start line vdeend r 7ch, 7 dh detected vertical active end line osd control osdmode r/w 80h osd(on screen display) modes foreop r/w 81h logic operation fadealpha r/w 82h fading alpha value osd 1 osdcontrol1 r/w 84h osd1 control romstartaddr1 r/w 85h osd1 rom start address fo ntaddrunit1 r/w 86h osd1 font address unit osdhstart1 r/w 90h on screen display horizontal start position osdvstart1 r/w 91h on screen display vertical start position ramaddrst1 r/w 92h osd1 ram start address ramstride1 r/w 93h, 8bh osd1 ram line strid e bmaphsize1 r/w 94h, 95h osd1 horizontal bitmap size bmaphtotal1 r/w 96h, 97h osd1 bitmap horizontal total bmapvsize1 r/w 98h, 99h osd1 bitmap vertical size bmapvtotal1 r/w 9ah, 9bh osd1 bitmap vertical total iconhtotal1 r/w 9ch osd1 horizontal icon total iconvtotal1 r/w 9dh osd1 vertical icon total fontlinesize1 r/w aeh osd1 font line size osd 2 osdcontrol2 r/w 88h osd2 control romstartaddr2 r/w 89h osd2 rom start address
AL300 november 28 , 2001 36 fontaddrunit2 r/w 8ah osd2 font address unit osdhstart2 r/w a0h on scree n display horizontal start position osdvstart2 r/w a1h on screen display vertical start position ramaddrst2 r/w a2h osd2 ram start address ramstride2 r/w a3h, 8ch osd2 ram line stride bmaphsize2 r/w a4h, a5h osd2 horizontal bitmap size bmaphtotal2 r/w a6h, a7h osd2 bitmap horizontal total bmapvsize2 r/w a8h, a9h osd2 bitmap vertical size bmapvtotal2 r/w aah,abh osd2 bitmap vertical total iconhtotal2 r/w ach osd2 horizontal icon total iconvtotal2 r/w adh osd2 vertical icon total fontlinesize2 r/w a fh osd2 font line size osd color registers color0red r/w b0h color 0 red component color0green r/w b1h color 0 green component color0blue r/w b2h color 0 blue component color1red r/w b3h color 1 red component color1green r/w b4h color 1 green compone nt color1blue r/w b5h color 1 blue component color2red r/w b6h color 2 red component color2green r/w b7h color 2 green component color2blue r/w b8h color 2 blue component color3red r/w b9h color 3 red component color3green r/w bah color 3 green compo nent color3blue r/w bbh color 3 blue component
AL300 november 28 , 2001 37 8.1 register description configuration: 00h: company id (r) [companyid] companyid <7:0> company id (46h) 01h: revision (r) [revision] revision <7:0> revision number 02h: board configuration (r only; r/w for bit 0) [boardconfig] if softcinfig (0x03<4>) = 0, this register setting represent board configuration. if softcinfig (0x03<4>) = 1, bit 0 (only) is programmable by software. the other bits still represent board configuration. videoin <0> 0 acce pt graphic input 1 accept video input i 2 c <6> 0 serial i 2 c input 1 reserved i 2 c addr <7> 0 i 2 c write address is 70h, read address is 71h. 1 i 2 c write address is 72h, read address is 73h. 03h: general (r/w) [general] pwrdown <0> 0 normal operat ion 1 power down mode softtiming <1> should always be 1 to enable s/w timing configuration. disablepll* <2> should always be 0 to enable internal/external pll. plldivhs <3> 0 use input hsync as the display clock pll input reference to generate output pixel clock. use registers #10h and 11h to define the pll divider. 1 use divided input hsync as display clock pll input reference. it needs to be enabled when required output pll divider is higher than 2047, but can be used any time when output pix el rate is higher than input pixel rate. the divider ratio is defined by registers #10h ~ #13h. refer to registers #10h ~ #13h for additional reference. softconfig <4> 0 input video type is defined by external pin videoin. 1 input video type is de fined by bit 0 of register 02h. refer to register 02h for additional reference. bypass <5> video pass through without scaling. 0 enable scaling defined in registers 14h, 15h, 16h and 17h 1 bypass when in bypass mode, only output timing registers 30h, 31h, 37h, 38h, 39h and 3ah affect the timing control. the pll and input timing registers are ignored. ddr12* <6> reserved. should be always 0. reftiming <7> 0 normal operation 1 free running
AL300 november 28 , 2001 38 in free running mode, external input hsync and vsyn c are disabled. nominal input timing is defined by registers 41h and 42h instead. this is useful when external video source is disconnected or unstable. the reference clock is given by xin pin. refer to registers 36h, 41h and 42h for additional refe rence. 04h: chip family (r) [family] family <7:0> 00110000, AL300 series 05h: polarity (r/w) [polarity] invpllref <0> 0 display clock pll reference signal is of negative polarity 1 display clock pll reference signal is of positive polarity invpllf b <1> 0 display clock pll feedback signal is of negative polarity 1 display clock pll feedback signal is of positive polarity hspol <2> 0 output hsync is of positive polarity 1 output hsync is of negative polarity blnkpol <3> 0 output display enabl e pdspen is of positive polarity 1 output display enable pdspen is of negative polarity vspol <4> 0 output vsync is positive polarity 1 output vsync is negative polarity abdelay <5> delay a data so that a and b data outputs are of the same timing. usually written as 1 for dual pixel panels. nc for single pixel panels. please also program registers #07h and #43h accordingly for dual pixel panels. csyncout <6> 0 normal hsync output 1 send composite sync output from phs pin invoddfiled <7> fo r ccir601 or square pixel video input, this bit should be written as 1 for correct interlaced odd/even field detection. in case of error, rewrite this bit as 0. 06h: dither control (r/w) [dither] sharpness <1:0> sharpness control 00 turn off sharpness control 01 sharpness level 1 10 sharpness level 2 (sharper than level 1) 11 sharpness level 3 (sharpest) reserved <2> reserved <3> should be always 1 for optimized output. dithmode <5:4> dither mode select 00 rgb 888 01 rgb 666 10 rgb 44 4 11 rgb 444 without dithering. it is recommended not to use dithering for graphics input for best sharpness. softtvref <6> 0 yuv video horizontal capture start is defined by the hardware tvref pin
AL300 november 28 , 2001 39 1 yuv video horizontal capture start is defined by re gister #20h and #21h. note that when #20h values changes between odd and even, the output u/v may flip. #20h should stay either odd or even at all times to ensure correct u/v. when softtvref is 0, register#20h<0> will be used as u/v flip the count erpart for controlling graphic reference is defined by softgraref (register #80h<6>) interpolation <7> 0 turn on interpolation 1 turn off interpolation (duplicate pixels only) 07h: adjustment (r/w) [adjustment] reserved <7> hdedelay <6:4> pdspen d elay relative to output data phase reserved <3:0> optimized value is 00h for single pixel mode, 20h for dual pixel mode please also program registers #05h<5>, #43h<7>, and #43h<4> accordingly for dual pixel mode. output clock pll and zoom ratio: the output pixel clock is generated from the input hsync (or with input pixel clock) relative to the ratio between the output and input display resolution. the pll divider (plldiv, defined by registers #10h and 11h) has a maximum value of 2047 programmed by an 11 - bit word. plldiv is defined by the following equation: for the best scaling quality, pllrefdiv (defined by registers #12h and #13h) is used as a pll reference divider. in this case, pllrefdiv (m) should be equal to the total number of pix els per input line (hi). if n is greater than 2047, both n and m need to be adjusted by dividing the scaling ratio by a simple integer as in the following example: example: (n greater than 2047) plldiv(n) = vo vi where, ho is the total number of pixels per output line vo is the output active lines per frame vi is the input active lines per frame ho
AL300 november 28 , 2001 40 vo = 768 vi = 240 ho = 1200 therefore, using the equation for plldiv, n = 3840 which is much greater than 2047. the scaling ratio is: since n is greater than 2047, the scaling ratio can be divided by 2 for the best scaling quality. dividing this ratio by 2, the scaling ratio becomes: these scaled values are ideal for n and m. note: ideally, for the pll, n should be an even integer. 10h: pll divider low (r/w) [plldiv] plldivl <7:0> bits <7:0> of pll divider number 11h: pll divider high (r/w) [plldiv] feb2_d2 <7> feedback divider 2 control 0: bypass feedback divider 2 1: enable feedback divider 2. output clock frequency is doubled when the feedback divider is turned on. feb1_d2 <6> feedback divider 1 control 0: bypass feedback divider 1 1: enable feedback divider 1. output clock frequency i s doubled when the feedback divider is turned on. out_d2 <5> output 1 - bit divider control 0: bypass output divider 2 1: enable output divider 2. output clock frequency is divided by 2 when the output divider is turned on. pre_d2 <4> input 1 - bit div ider control 0: bypass input divider 2 1200 1024 768 858 240 720 input display output display n m 3840 858 n m 1920 429
AL300 november 28 , 2001 41 1: enable input divider 2. output clock frequency is divided by 2 when the input divider is turned on. plldivh (10:8) <2:0> bits 8~10 of the pll divider the value of plldiv is determined by subtracting from th e actual target divider by 2 when internal pll is used. for example, if the desired divider value is 840, then the value set to the related registers should be 838 = 346h. therefore, plldivh[2:0] should be set to 3h (?011?) and plldivl[7:0] should be set to 46h (?01000110?). however, when an external genlock pll such as ics9173 is used, programming registers 10h and 11h is still needed. in such applications, the plldiv should be the actual target divider instead of being subtracted by 2 as in the above c ase. please review the AL300programming algorithm for more details. 12h: pll reference divider low (r/w) [pllrefdiv] pllrefdivl <7:0> bits <7:0> of display pll reference input divider number (unit: 1 pixel) 13h: pll reference divider high (r/w) [pllrefd iv] pllrefdivh <2:0> bits <10:8> of display pll reference input divider number registers 14h~17h are used to define the independent horizontal and vertical scaling ratio. 14h: horizontal zoom ratio low (r/w) [hratio] hratiol <7:0> bits <7:0> of hori zontal scale ratio value valid only when register 03h<5> = 0. 15h: horizontal zoom ratio high (r/w) [hratio] hratioh <2:0> bits <10:8> of horizontal scale ratio value valid only when register 03h<5> = 0. horizontal zoom ratio = (hdst x 256) / hsrc hsrc = horizontal source capture size (register 22h) hdst = horizontal destination active width (registers 33h and 34h) 16h: vertical zoom ratio low (r/w) [vratio] vratiol <7:0> bits <7:0> of vertical scale ratio value valid only when register 03h<5> = 0. 17h: vertical zoom ratio high (r/w) [vratio] vratioh <6:0> bits <14:8> of vertical scale ratio value valid only when register 03h<5> = 0. vertical zoom ratio = (vdst x 4096) / vsrc
AL300 november 28 , 2001 42 vsrc = (output vertical active line count x output horizontal line total) / n, or (voa x hot) / n. this value should be very close to vertical source active lines (register 24h, 25h, 26h and 27h), but please keep the decimal. vdst = vertical destination active lines (registers 37h, 38h, 39h and 3ah) note: when v ertical zoom ratio is to be changed, input capture timing, pll divider and m/n values should also be modified. please refer to the AL300 programming algorithm for detailed description. 18h: horizontal zoom initial phase (r/w) [hinitphase] hinitph <7:0> horizontal zoom scaler initial phase the purpose of phase adjustment is to optimize the scaling quality when the scaling ratio is a simple fraction such as 2/1 or 3/2. the initial interpolation phase can be 0 up to close to 1 pixel, hinitph = (1 ? hia/2 /hoa) x 32. please refer to the AL300 programming algorithm for detailed description. the vertical counterpart is defined by register #1ah 19h: vertical zoom initial phase at odd field (r/w) [vinitphaseodd] vinitphodd <7:0> vertical zoom scalar initial phase for the odd field of interlaced input. enter the same value as register 1ah for non - interlaced input. refer to the AL300 programming algorithm for more details. 1ah: vertical zoom initial phase (r/w) [vinitphase] vinitph <7:0> vertical zoom scalar initial phase. this is the initial phase for graphics input or even field of interlaced input. the recommended value is 20h. the horizontal zoom initial phase is defined by register #18h 1bh: panel power control (r/w) [gout] controlen <0> ena ble panel interface control signals gout3 <1> general purpose register for gout3 pin. gout1 <2> general purpose register for gout1 pin. gout2 <3> general purpose register for gout2 pin. the gout bits are reserved in case additional control pins are r equired for specific panels. yuv444in <4> 0 yuv422 input 1 yuv444 input (set <5>=0) ccir601 <5> 0 ccir601 input timing format 1 reserved yuvout <6> 0 rgb output 1 yuv output yuv444out <7> 0 yuv422 output 1 yuv444 output bits<7:4> is vali d only if register #02h<0>, videoin is 1 input timing:
AL300 november 28 , 2001 43 please refer to section 6.5 input video timing for additional reference. the input timing diagram (AL300 - 07) shows it pictorially. 20h: horizontal capture start low (r/w) [caphstart] caphstartl <7: 0> bits<7:0> of horizontal capture start position (unit: 1 pixel) 21h: horizontal capture start high (r/w) [caphstart] caphstarth <2:0> bits <10:8> of horizontal capture start position 22h: horizontal capture size (r/w) [caphsize] caphsize <7:0> horizo ntal capture size (unit: 8 pixels) 23h: testing (r/w) [resettest] reserved <7:0> reserved 24h: vertical capture start low (r/w) [capvstart] capvstarth <7:0> bits <7:0> of vertical capture start position (unit: 1 line) 25h: vertical capture start high (r/w) [capvstart] capvstartl <2:0> bits <10:8> of vertical capture start position 26h: vertical capture end low (r/w) [capvend] capvendl <7:0> bits <7:0> of vertical capture end position (unit: 1 line) 27h: vertical capture end high (r/w) [capvend] capvendh <2:0> bits <10:8> of vertical capture end position registers #28h and #29h are used to control the delay of vertical lines between the output and the input. the counterpart for horizontal delay is controlled by the registers #3bh and #3ch. 2 8h: vertical display frame start position low (r/w) [framevstart] framevstartl <7:0> bits <7:0> of display vertical counter start position relative to input vertical counter. (unit: 1 line) 29h: vertical display frame start position high (r/w) [framevsta rt] framevstarth <2:0> bits <10:8> of display vertical counter start position relative to input vertical counter. output timing: please refer to section 6.6 output video timing for additional reference. the output timing diagram (AL300 - 08) shows it pic torially. 30h: horizontal total low (r/w) [dsphtotal] dsphtotall <7:0> bits <7:0> of display horizontal total. (unit: 1 pixel)
AL300 november 28 , 2001 44 31h: horizontal total high (r/w) [dsphtotal] dsphtotalh <2:0> bits <10:8> of display horizontal total. 32h: horizontal sync end (r/w) [dsphsend] dsphsend <7:0> output display horizontal sync end position (unit: 8 pixels) 33h: horizontal display start (r/w) [dsphdestart] dsphdestart <7:0> output horizontal display start (unit: 8 pixels) 34h: horizontal display end (r/w) [dsp hdeend] dsphdeend <7:0> output horizontal display end (unit: 8 pixels) 35h: vertical sync end (r/w) [dspvsend] dspvsend <7:0> output display vertical sync end position (unit: 8 line) 36h: blink control (r/w) [blinkctrl] blinktime <1:0> osd blinking ti me constant 00 32 frames of internal reference timing per blink 01 64 frames of internal reference timing per blink 10 128 frames of internal reference timing per blink 11 256 frames of internal reference timing per blink (refer to registers 41h, 42h, 84h<1> and 88h<1> for additional reference) blinktype <2> 0 blinking is defined in blinktime 1 no blinking, just reverse the index color 37h: vertical display start low (r/w) [dspvdestart] dspvdestartl <7:0> bits <7:0> of vertical display start position. (unit: 1 line) 38h: vertical display start high (r/w) [dspvdestart] dspvdestarth <2:0> bits <10:8> of vertical display start position. 39h: vertical display end low (r/w) [dspvdeend] dspvdeendl <7:0> bits <7:0> of vertical display end position. (unit: 1 line) 3a: vertical display end high (r/w) [dspvdeend] dspvdeendh <2:0> bits <10:8> of vertical display end position. registers #3bh and #3ch are used to control the delay of horizontal pixels between the output and the input. the counterpart for vertical delay is controlled by the registers #28h and #29h. 3b: frame head delay adjustment (r/w) [framedelay] framedly <7:0> output hsync delay adjustment relative to input hsync (unit: 16 pixels) refer to the AL300 programming algorit hm for more details. 3c: frame head delay adjustment for odd field (r/w) [framedelayodd]
AL300 november 28 , 2001 45 framedlyodd <7:0> output hsync delay adjustment relative to input hsync in odd field. (unit: 16 pixels) for non - interlaced video, framedlyodd has the same value as framedly. for interlaced video, framedlyodd is half line more than framedly. refer to the AL300 programming algorithm for more details. interrupt and internal timing: 40h: interrupt source (r/w) [ireqsource] linerateireq <0> if 1, enable interrup t if line rate changes vsyncireq <1> if 1, enable interrupt if vsync comes oddfieldireq <2> if 1, enable interrupt when odd field of input video comes to check what causes the interruption when more than one interrupt source is enabled, read register # 65h for the status and then clear it for the next interruption. 41h: reference h total (r/w) [refhtotal] refhtotal <7:0> horizontal total of internal reference timing (unit: 8 pixels). enabled when register 03h <7>=1 registers #41h and #42h are used to define free running mode when input is disconnected or is undefined. this is especially useful for showing error messages with osd. refer to register #42h for examples. 42h: reference v total (r/w) [refvtotal] refvtotal <7:0> vertical total of inte rnal reference timing (unit: 8 lines) enabled when register 03h <7>=1 register 41h and 42h are used to define free running mode when input is disconnected or is undefined. this is especially useful for showing error message with osd. for instance, a reference clock of 14.31818 mhz is used to generate hsync and vsync with vertical frame refresh rate of 60hz, the resulted h - total and v - total would be as follows: panel h - total (reg.#41h x 8) v - total (reg.#42h x 8) 640x480: 456 520 800x600: 376 632 1024x768: 296 800 1280x1024 216 1072 to correct the h - total if necessary, program the input pll circuitry to generate correct input pixel clock rate. 43h: output control (r/w) [outputcontrol] reserved <2:0> should be written as 000. noblank <3> no b lanking, all data pass through; for testing only. dualout <4> output odd/even pixels for dual pixel panels luten <5> enable lut
AL300 november 28 , 2001 46 colorout <6> replace the input video with color 3 (refer to registers #b9h, #bah, and #bbh for additional reference) invoutc lk <7> invert the phase of sclk, pclka, and pclkb. this bit is usually 1 for dual pixel panels. please also program registers #05h and #07h accordingly for dual pixel panels. 65h: interrupt status (r only) [ireqstatus] please refer to the register 65h d escription in the input timing measurement section, after register 64h. look - up table: 48h: red lut write data port (r/w) [rlutport] rlutport <7:0> red lut write data port 49h: green lut write data port (r/w) [glutport] glutport <7:0> green lut write data port 4ah: blue lut write data port (r/w) [blutport] blutport <7:0> blue lut write data port 4bh: lut write port address (r/w) [ lutwaddr] lutwraddr <7:0> address of lut wrote port osd ram: 4ch: osd ram address low byte (r/w) [osdramwaddr] osd ramaddrl <7:0> bits <7:0> of osd ram write address 4dh: osd ram address high byte (r/w) [osdramwaddr ] osdramaddrh<1:0> bits <9:8> of osd ram write address 4eh: osd ram write data port (r/w) [osdramwport] osdramport <7:0> osd ram write port writing da ta to this register #4eh automatically increases the osd ram address defined in registers #4ch and #4dh. blanking/border control: the blanking control is used as output data cropping 50h: horizontal blank start low (r/w) [hblankstart] hblankstartl < 7:0> bits <7:0> of horizontal blank start position + 12. (unit: 1 pixel)
AL300 november 28 , 2001 47 51h: horizontal blank start high (r/w) [hblankstart] hblankstarth <2:0> bits <10:8> of horizontal blank start position + 12. (unit: 1 pixel) 52h: horizontal blank end low (r /w) [hblankend] hblankendl <7:0> bits <7:0> of horizontal blank end position + 12. (unit: 1 pixel) 53h: horizontal blank end high (r/w) [hblankend] hblankendh <2:0> bits <10:8> of horizontal blank end position + 12. (unit: 1 pixel) 54h: vertical blan k start low (r/w) [vblankstart] vblankstartl <7:0> bits <7:0> of vertical blank start position. (unit: 1 line) 55h: vertical blank start high (r/w) [vblankstart] vblankstarth <2:0> bits <10:8> of vertical blank start position. (unit: 1 line) 56h: ver tical blank end low (r/w) [vblankend] vblankendl <7:0> bits <7:0> of vertical blank end position. (unit: 1 line) 57h: vertical blank end high (r/w) [vblankend] vblankendh <2:0> bits <10:8> of vertical blank end position. (unit: 1 line) input timing measurement: 60h: input status (r only) [inputstatus] inhspol <0> input hsync polarity. 0 active low/ negative polarity 1 active high/ positive polarity invspol <1> input vsync polarity. 0 active low/ negative polarity 1 active high/ posit ive polarity oddfield <2> 1, if input is in odd field reserved <3> invde <4> 1, if input video is in active region outvde <5> 1, if output video is in active region refvs <6> 1, if refence timing is in vsync cycle (in free running mode) invsync <7> 1 , if input timing is in vysnc cycle 61h: input line rate low (r only) [linerate] lineratel <7:0> bits <7:0> of input line rate, which is in terms of how many reference lock cycles per horizontal line. refresh rate = (reference clock frequency) / (liner ate x invtotal) reference clock is the clock from xin pin. linerate is the input line rate defined in registers #61h and #62h invtotal is the input vertical total line defined in registers #63h and #64h
AL300 november 28 , 2001 48 62h: input line rate high (r only) [linerate] li nerateh <3:0> bits <11:8> of input line rate, which is in terms of how many reference lock cycle per horizontal line. 63h: input vertical line total low (r only) [invtotal] invtotall <7:0> bits <7:0> of total vertical line count of input video refresh r ate = (reference clock frequency) / (linerate x invtotal) reference clock is the clock from xin pin. linerate is the input line rate defined in registers #61h and #62h invtotal is the input vertical total line defined in registers #63h and #64h 64h: in put vertical line total high (r only) [invtotal] invtotalh <3:0> bits <11:8> of total vertical line count of input video 65h: interrupt status (r only) [ireqstatus] newhsyncrate<0> 1, if hsync line rate of input video changes. reset by clearing the rel ated bit of register #40h, then enable it if desired. newvysnc <1> 1, if vsync of input video happens. reset by clearing the related bit of register #40h, then enable it if desired. newfield <2> 1, if odd field of input video comes. reset by clearing the related bit of register #40h, then enable it if desired. 66h: input horizontal pixel total low (r only) [inhtotal] inhtotall <7:0> bits<7:0> of total horizontal pixel count of input video 67h: input horizontal pixel total high (r only) [inhtotal] inht otalh <2:0> bits<10:8> of total horizontal pixel count of input video the two registers can be used to reconfirm if the input pixel - total number is reasonable or as expected. for instance, an odd number may indicate that the pll of the preceding adc may not have worked as how it is programmed. automatic positioning: 70h: horizontal line number for hdest & hdeend detection (r/w) [hlinenumber] hlinenumber <7:0> horizontal line number for horizontal active start and end detection; refer to register #71h for additional reference. (unit: 8 lines) 71h: data threshold (r/w) [datathreshold] datathreshold <6:0> luma (brightness) threshold value. datathreshold is used to determine whether an input pixel exists for both horizontal and vertical directions. any pixel luma value less than this value is regarded as blank. lineposdetect <7> 0 whole frame active data detection. 1 single line/column active data detection.
AL300 november 28 , 2001 49 when lineposdetect is 1, the horizontal line used to detect horizontal active start and end is defined in register 70h, and the vertical column used to detect vertical active start and end is defined in register 79h. values of register #72h~#75h reflect the detected input active pixels start/end positions or the ghref signal star/end positions, depending on the status of register #82h<7:6>. 72h: horizontal active start low (r only) [hdestart] hdestartl <7:0> bits <7:0> of detected horizontal active start pixel position. (unit: 1 pixel) 73h: horizontal active start high (r only) [hdestart] hde starth <2:0> bits <10:8> of detected horizontal active start pixel position. 74h: horizontal active end low (r only) [hdeend] hdeendl <7:0> bits <7:0> of detected horizontal active end pixel position (unit: 1 pixel) 75h: horizontal active end high (r only) [hdeend] hdeendh <2:0> bits <10:8> of detected horizontal active end pixel position. 79h: vertical column for vdestart & vdeend detection (r/w) [vcolumn] vcolumn <7:0> vertical column number for vertical active start and end detection; refer to register #71h for additional reference. (unit: 8 pixels) 7ah: vertical active start low (r only) [vdestart] vdestartl <7:0> bits <7:0> of detected vertical active start line (unit: 1 line) 7bh: vertical active start high (r only) [vdestart] vdesta rth <2:0> bits <10:8> of detected vertical active start line 7ch: vertical active end low (r only) [vdeend] vdeendl <7:0> bits <7:0> of detected vertical active end line (unit: 1 line) 7dh: vertical active end high (r only) [vdeend] vdeendh <2:0> bit s <10:8> of detected vertical active end line osd control: 80h: osd modes (r/w) [osdmode] rommode <0> enable rom mode 0 internal ram mode 1 external rom mode this bit should be 0 when osd1 and osd2 are both disabled. bypasshpos <5> 0 the output horizontal start/end position is defined by register #33h & #34h, which resolution is 8 - pixel. 1 the output horizontal start/end position is defined by registers #20h~22h
AL300 november 28 , 2001 50 softgraref <6> 0 graphic horizontal capture start is defined by the hardwa re ghref pin 1 graphic horizontal capture start is defined by register #20h and #21h. the counterpart for controlling graphic reference is defined by softtvref (register #06h<6>) 81h: logic operation (r/w) [foreop] color0op <1:0> logic operation betw een color 0 and video 00 nop show only osd 01 or video or color 0 10 and video and color 0 11 xor video xor color 0 color1op <3:2> logic operation between color 1 and video 00 nop show only osd 01 or video or color 1 10 and video and color 1 11 xor video xor color 1 color2op <5:4> logic operation between color 2 and video 00 nop show only osd 01 or video or color 2 10 and video and color 2 11 xor video xor color 2 color3op <7:6> logic operation between color 3 and vid eo 00 nop show only osd 01 or video or color 3 10 and video and color 3 11 xor video xor color 3 color 0, 1, 2 and 3 are defined in registers b0h ~ bbh. 82h: fading alpha value (r/w) [fadealpha] fadealpha <5:0> the alpha factor for fadin g effect ranging from 00h to 20h, i.e., there is 33 - level of fade - in/fade - out effect. output = input * alpha + osd * (1 ? (alpha/32)) 000000 - minimum alpha value. show only osd. 100000 - maximum alpha value. show only video ghrefpol <7:6> 00 auto positioning registers #72h~#75h controlled by hardware internal detection. 01 reserved 10 auto positioning registers #72h~#75h controlled by ghref pin, if ghref is active high. 11 auto positioning registers #72h~#75h controlled by ghref pin, if ghref is active low. on screen display 1 registers: 84h: osd1 control (r/w) [osdcontrol1] pixdepth1 <0> number of bits per pixel of on screen display (osd) 1
AL300 november 28 , 2001 51 0 one bit per pixel 1 two bits per pixel blinken1 <1> osd1 blinking enable, eff ective only when rommode = ?1?. 0 disable blinking 1 enable blinking hzoom1 <3:2> osd1 horizontal zoom factor 00 osd pixel h size equals to 1x of video pixel 01 osd pixel h size equals to 2x of video pixel 10 osd pixel h size equals to 4x o f video pixel 11 osd pixel h size equals to 8x of video pixel vzoom1 <5:4> osd1 vertical zoom factor 00 osd line v size equals to 1x of video line 01 osd line v size equals to 2x of video line 10 osd line v size equals to 4x of video line 1 1 osd line v size equals to 8x of video line font2byte1 <6> two - byte font charter code mode, effective only when rommode = ?1? 0 one - byte character code mode 1 two - byte character code mode please refer to osd data addressing in rom mode diagra m (AL300 - 11) osden1 <7> on screen display (osd) 1 enable 0 disable osd1 ; 80h<0> should be 0 when osd1 and osd2 are both disabled. 1 enable osd1 85h: osd1 rom start address (r/w) [romstartaddr1] romstaddr1h <7:0> bits<11:4> of osd1 rom start addr ess (unit: 16 bytes) bits<3:0> of osd1 rom start address is defined in register #86h<3:0> osd1 rom start address = romstaddr1h * 256 + romstaddr1l * 16 86h: osd1 font address unit (r/w) [fontaddrunit1] fontaddrunit1 <7:4> osd1 font address unit 0000 font address is multiple of 2 5 bytes 0001 font address is multiple of 2 6 bytes 0010 font address is multiple of 2 7 bytes 0011 font address is multiple of 2 8 bytes 0100 font address is multiple of 2 9 bytes 0101 font address is multiple of 2 10 bytes 0110 font address is multiple of 2 11 bytes 0111 font address is multiple of 2 12 bytes 1000 font address is multiple of 2 13 bytes 1001 font address is multiple of 2 14 bytes 1010 font address is multiple of 2 15 bytes 1011 font address is multiple of 2 16 bytes romstaddr1l <3:0> bits<3:0> osd1 rom start address (unit: 16 bytes) font address = (character code) * (font address unit) + (osd1 rom start address) ?character code? is the data retrieved from internal osd ram.
AL300 november 28 , 2001 52 ?font addre ss unit? is defined in register #86h. ?osd1 rom start address? is defined in registers #85h and #86h . 90h: osd1 horizontal start (r/w) [osdhstart1] osdhstart1 <7:0> on screen display horizontal start position (unit: 8 video pixels) relative to displa y hsync start please also refer to osd screen timing diagram (AL300 - 15) for additional reference. 91h: osd1 vertical start (r/w) [osdvstart1] osdvstart1 <7:0> on screen display vertical start position (unit: 8 video lines) relative to display vsync start please also refer to osd screen timing diagram (AL300 - 15) for additional reference. 92h: osd1 ram start address (r/w) [ramaddrst1] ramaddrst1 <7:0> osd1 ram start address (unit: 4 or 8 bytes) osd1 ram start address = 1. register 92h<7:0> * 4, if register 84h<6> = 0 2. register 92h<7:0> * 8, if register 84h<6> = 1 AL300 has built in 1k byte ram in ram mode (register 80h<0> = 0): ram start address defines the start address of stored internal osd ram bitmap. in rom mode (register 80h<0> = 1): ram start address defines the start address of osd rom font character codes retrieved from internal osd ram. font address = (character code) * (font address unit) + (osd1 rom start address) ?character code? is the data retrieved from internal os d ram. ?font address unit? is defined in register #86h. ?osd1 rom start address? is defined in register #85h. 93h: osd1 ram horizontal stride low (r/w) [ramstride1] ramstride1l <7:0> bits<7:0> of osd1 ram line stride (unit: 1 bytes) in ram mode (regis ter 80h<0> = 0): ram horizontal stride defines the number of bytes occupied in internal osd ram for each osd bitmap line. total bitmap bytes stored in osd ram: ?ram horizontal stride? x ?bitmap vertical size? (bytes) where ?ram horizontal stride ? is defined by register #8bh and #93h. ?bitmap vertical size? is defined by register #98h and #99h. in rom mode (register 80h<0> = 1): ram horizontal stride defines the total bytes occupied in internal osd ram for each osd text row. total charact er code bytes stored in osd ram: ?ram horizontal stride? x ?icon vertical total? (bytes) total character code bytes retrieved in osd ram: ?icon horizontal total? x ?icon vertical total? x ?character code size? (bytes)
AL300 november 28 , 2001 53 where ?ram horizontal stri de? is defined in register #8bh and #93h. ?icon horizontal total? is defined in register #9ch. ?icon vertical total? is defined in register #9dh. ?character code size? is defined in register #84h<6>. 8bh: osd1 ram horizontal stride high (r/w) [rams tride1] ramstride1h <1:0> bits <9:8> of osd1 ram line stride (unit: 1 bytes) the lower byte is defined by register #93h. 94h: osd1 bitmap horizontal size low (r/w) [bmaphsize1] bmaphsize1 = actual bitmap horizontal size ? 1 bmaphsize1l <7:0> bits<7:0> of osd1 horizontal bitmap size (unit: 1 osd pixel) value of (?bitmap horizontal total? ? ?bitmap horizontal size?) defines the extra gap between each character shown on osd screen. ?bitmap horizontal size? is defined by register #94h and #95h. ?bitmap horizontal total? is defined by register #96h and #97h. please refer to osd screen timing diagram (AL300 - 15) for additional reference. 95h: osd1 bitmap horizontal size high (r/w) [bmaphsize1] bmaphsize1 = actual bitmap horizontal size ? 1 bmaphsize1h < 1:0> bits<9:8> of osd1 bitmap horizontal size the lower byte is defined by register #94h. 96h: osd1 bitmap horizontal total pixels low (r/w) [bmaphtotal1] bmaphtotal1 = actual bitmap horizontal total ? 1 bmaphtotal1l <7:0> bits<7:0> of osd1 bitmap hori zontal total (unit: 1 osd pixel) value of (?bitmap horizontal total? ? ?bitmap horizontal size?) defines the extra gap between each character shown on osd screen. ?bitmap horizontal size? is defined by register 94h and 95h. ?bitmap horizontal total? is defined by register 96h and 97h. please refer to osd screen timing diagram (AL300 - 15) for additional reference. 97h: osd1 bitmap horizontal total pixels high (r/w) [bmaphtotal1] bmaphtotal1 = actual bitmap horizontal total ? 1 bmaphtotal1h <1:0> bits <9:8> of osd1 bitmap horizontal total the lower byte is defined by register #96h. 98h: osd1 bitmap vertical size low (r/w) [bmapvsize1] bmapvsize1 = actual bitmap vertical size ? 1 bmapvsize1l <7:0> bits<7:0> of osd1 bitmap vertical size (unit: 1 osd line) value of (?bitmap vertical total? ? ?bitmap vertical size?) defines the extra line(s) between each text row shown on osd screen. ?bitmap vertical size? is defined by register #98h and #99h. ?bitmap vertical total? is defined by register #9ah and # 9bh. please refer to osd screen timing diagram (AL300 - 15) for additional reference.
AL300 november 28 , 2001 54 99h: osd1 bitmap vertical size high (r/w) [bmapvsize1] bmapvsize1 = actual bitmap vertical size ? 1 bmapvsize1h <1:0> bits<9:8> of osd1 bitmap vertical size the lower byte is defined by register #98h. 9ah: osd1 bitmap vertical total lines low (r/w) [bmapvtotal1] bmapvtotal1 = actual bitmap vertical total ? 1 bmapvtotal1l <7:0> bits<7:0> of osd1 bitmap vertical total (unit: 1 osd line) value of (?bitmap vertical tot al? ? ?bitmap vertical size?) defines the extra line(s) between each text row shown on osd screen. ?bitmap vertical size? is defined by register #98h and #99h. ?bitmap vertical total? is defined by register #9ah and #9bh. please refer to osd screen timi ng diagram (AL300 - 15) for additional reference. 9bh: osd1 bitmap vertical total lines high (r/w) [bmapvtotal1] bmapvtotal1 = actual bitmap vertical total ? 1 bmapvtotal1h <1:0> bits<9:8> of osd1 bitmap vertical total the lower byte is defined by regist er #9ah. 9ch: osd1 icon horizontal total (r/w) [iconhtotal1] iconhtotal1 = actual icon horizontal total ? 1 iconhtotal1 <7:0> osd1 horizontal icon total (unit: 1 icon) icon horizontal total defines how many character codes should be retrieved from internal osd ram and shown on osd screen per osd line. total character code bytes stored in osd ram: ?ram horizontal stride? x ?icon vertical total? (bytes) total character code bytes retrieved in osd ram: ?icon horizontal total? x ?icon vertical tot al? x ?character code size? (bytes) where ?ram horizontal stride? is defined by register #8bh and #93h. ?icon horizontal total? is defined by register #9ch. ?icon vertical total? is defined by register #9dh. ?character code size? is defined by regist er #84h<6>. please refer to osd screen timing diagram (AL300 - 15) for additional reference. 9dh: osd1 icon vertical total (r/w) [iconvtotal1] iconvtotal1 = actual vertical icon total ? 1 iconvtotal1 <7:0> osd1 vertical icon total (unit: 1 icon) icon ve rtical total defines how many text rows shown on osd screen. total character code bytes stored in osd ram: ?ram horizontal stride? x ?icon vertical total? (bytes) total character code bytes retrieved in osd ram: ?icon horizontal total? x ?icon vertic al total? x ?character code size? (bytes) where ?ram horizontal stride? is defined by register #8bh and #93h. ?icon horizontal total? is defined by register #9ch.
AL300 november 28 , 2001 55 ?icon vertical total? is defined by register #9dh. ?character code size? is defined by register #84h<6>. please refer to osd screen timing diagram (AL300 - 15) for additional reference. aeh: osd1 font line size (r/w) [fontlinesize1] fontlinesize1 <7:0> memory size of a line of font (unit: 1 byte) registers #94h and #95h define the size b y bits, but #aeh defines it by bytes. on screen display 2 registers: 88h: osd2 control (r/w) [osdcontrol2] pixdepth2 <0> number of bits per pixel of on screen display (osd) 2 0 one bit per pixel 1 two bits per pixel blinken2 <1> osd2 blin king enable, effective only when rommode = ?1?. 0 disable blinking 1 enable blinking hzoom2 <3:2> osd2 horizontal zoom factor 00 osd pixel h size equals to 1x of video pixel 01 osd pixel h size equals to 2x of video pixel 10 osd pixel h siz e equals to 4x of video pixel 11 osd pixel h size equals to 8x of video pixel vzoom2 <5:4> osd2 vertical zoom factor 00 osd line v size equals to 1x of video line 01 osd line v size equals to 2x of video line 10 osd line v size equals to 4x of video line 11 osd line v size equals to 8x of video line font2byte2 <6> two - byte font charter code mode, effective only when rommode = ?1? 0 one - byte character code mode 1 two - byte character code mode please refer osd data addressing in ro m mode diagram (AL300 - 11) osden2 <7> on screen display (osd) 2 enable 0 disable osd2 ; 80h<0> should be 0 when osd1 and osd2 are both disabled. 1 enable osd2 89h: osd2 rom start address (r/w) [romstartaddr2] romstaddr2h <7:0> bits<11:4> of osd2 r om start address (unit: 16 bytes) bits<3:0> of osd2 rom start address is defined in register #8ah<3:0> osd1 rom start address = romstaddr1h * 256 + romstaddr1l * 16 8ah: osd2 font address unit (r/w) [fontaaddrunit2] fontaddrunit2 <7:4> osd2 font a ddress unit 0000 font address is multiple of 2 5 bytes 0001 font address is multiple of 2 6 bytes
AL300 november 28 , 2001 56 0010 font address is multiple of 2 7 bytes 0011 font address is multiple of 2 8 bytes 0100 font address is multiple of 2 9 bytes 0101 font addres s is multiple of 2 10 bytes 0110 font address is multiple of 2 11 bytes 0111 font address is multiple of 2 12 bytes 1000 font address is multiple of 2 13 bytes 1001 font address is multiple of 2 14 bytes 1010 font address is multiple of 2 15 bytes 1011 font address is multiple of 2 16 bytes romstaddr2l <3:0> bits<3:0> osd2 rom start address (unit: 16 bytes) font address = (character code) * (font address unit) + (osd2 rom start address) ?character code? is the data retrieved from internal osd ram. ?font address unit? is defined by register #8ah. ?osd2 rom start address? is defined by register #89h and #8ah . a0h: osd2 horizontal start (r/w) [osdhstart2] osdhstart2 <7:0> on screen display horizontal start position (unit: 8 video pixels) re lative to display hsync start please refer to osd screen timing diagram (AL300 - 15) for additional reference. a1h: osd2 vertical start (r/w) [osdvstart2] osdvstart2 <7:0> on screen display vertical start position (unit: 8 video lines) relative to disp lay vsync start please refer to osd screen timing diagram (AL300 - 15) for additional reference. a2h: osd2 ram start address (r/w) [ramaddrst2] ramaddrst2 <7:0> osd2 ram start address (unit: 4 or 8 bytes) osd2 ram start address = 1. register a2h<7:0> * 4, if register 88h<6> = 0 2. register a2h<7:0> * 8, if register 88h<6> = 1 AL300 has built in 1k byte ram in ram mode (register 80h<0> = 0): ram start address defines the start address of stored internal osd ram bitmap. in rom mode (register 80h< 0> = 1): ram start address defines the start address of osd rom font character codes retrieved from internal osd ram. font address = (character code) * (font address unit) + (osd2 rom start address) where ?character code? is the data retrieved from internal osd ram. ?font address unit? is defined by register #8ah. ?osd2 rom start address? is defined by register #89h. a3h: osd2 ram horizontal stride low (r/w) [ramstride2] ramstride2l <7:0> bits<7:0> of osd2 ram line stride (unit: 1 bytes) in r am mode (register 80h<0> = 0):
AL300 november 28 , 2001 57 ram horizontal stride defines the amount of bytes occupied in internal osd ram for each osd bitmap line. total bitmap bytes stored in osd ram: ?ram horizontal stride? x ?bitmap vertical size? (bytes) where ?ram horizontal stride? is defined by registers #8ch and #a3h. ?bitmap vertical size? is defined by registers #a8h and #a9h. in rom mode (register 80h<0> = 1): ram horizontal stride defines the total bytes occupied in internal osd ram for each osd text r ow. total character code bytes stored in osd ram: ?ram horizontal stride? x ?icon vertical total? (bytes) total character code bytes retrieved in osd ram: ?icon horizontal total? x ?icon vertical total? x ?character code size? (bytes) where ?ram horizontal stride? is defined by register #8bh and #93h. ?icon horizontal total? is defined by register #9ch. ?icon vertical total? is defined by register #9dh. ?character code size? is defined by register #84h<6>. please refer to osd scree n timing diagram (AL300 - 15) for additional reference. 8ch: osd2 ram horizontal stride high (r/w) [ramstride2] ramstride2h <1:0> bits<9:8> of osd2 ram line stride (unit: 1 bytes) refer to register #a3h for additional reference. a4h: osd2 bitmap horizont al size low (r/w) [bmaphsize2] bmaphsize2 = actual bitmap horizontal size ? 1 bmaphsize2l <7:0> bits<7:0> of osd2 horizontal bitmap size (unit: 1 osd pixel) value of (?bitmap horizontal total? ? ?bitmap horizontal size?) defines the extra gap between ea ch character shown on osd screen. ?bitmap horizontal size? is defined by registers #a4h and #a5h. ?bitmap horizontal total? is defined by registers #a6h and #a7h. please refer to osd screen timing diagram (AL300 - 15) for additional reference. a5h: osd2 bitmap horizontal size high (r/w) [bmaphsize2] bmaphsize2 = actual bitmap horizontal size ? 1 bmaphsize2h <1:0> bits<9:8> of osd2 bitmap horizontal size the lower byte is defined by register #a4h. a6h: osd2 bitmap horizontal total pixels low (r/w) [bma phtotal2] bmaphtotal2 = actual bitmap horizontal total ? 1 bmaphtotal2l <7:0> bits<7:0> of osd2 bitmap horizontal total (unit: 1 osd pixel) value of (?bitmap horizontal total? ? ?bitmap horizontal size?) defines the extra gap between each character show n on osd screen. ?bitmap horizontal size? is defined by registers #a4h and #a5h. ?bitmap horizontal total? is defined by registers #a6h and #a7h.
AL300 november 28 , 2001 58 please refer to osd screen timing diagram (AL300 - 15) for additional reference. a7h: osd2 bitmap horizont al total pixels high (r/w) [bmaphtotal2] bmaphtotal2 = actual bitmap horizontal total ? 1 bmaphtotal2h <1:0> bits<9:8> of osd2 bitmap horizontal total the lower byte is defined by register #a6h. a8h: osd2 bitmap vertical size low (r/w) [bmapvsize2] bm apvsize2 = actual bitmap vertical size ? 1 bmapvsize2l <7:0> bits<7:0> of osd1 bitmap vertical size (unit: 1 osd line) value of (?bitmap vertical total? ? ?bitmap vertical size?) defines the extra line(s) between each text row shown on osd screen. ?bitm ap vertical size? is defined by registers #a8h and #a9h. ?bitmap vertical total? is defined by registers #aah and #abh. please refer to osd screen timing diagram (AL300 - 15) for additional reference. a9h: osd2 bitmap vertical size high (r/w) [bmapvsize2] bmapvsize2 = actual bitmap vertical size ? 1 bmapvsize2h <1:0> bits<9:8> of osd2 bitmap vertical size the lower byte is defined by register #a8h. aah: osd2 bitmap vertical total lines low (r/w) [bmapvtotal2] bmapvtotal2 = actual bitmap vertical total ? 1 bmapvtotal2l <7:0> bits<7:0> of osd2 bitmap vertical total (unit: 1 osd line) value of (?bitmap vertical total? ? ?bitmap vertical size?) defines the extra line(s) between each text row shown on osd screen. ?bitmap vertical size? is defined by regi sters #a8h and #a9h. ?bitmap vertical total? is defined by registers #aah and #abh. please refer to osd screen timing diagram (AL300 - 15) for additional reference. abh: osd2 bitmap vertical total lines high (r/w) [bmapvtotal2] bmapvtotal2 = actual bitma p vertical total ? 1 bmapvtotal2h <1:0> bits<9:8> of osd2 bitmap vertical total the lower byte is defined by register #aah. ach: osd2 icon horizontal total (r/w) [iconhtotal2] iconhtotal2 = actual icon horizontal total ? 1 iconhtotal2 <7:0> osd1 h orizontal icon total (unit: 1 icon) icon horizontal total defines how many character codes should be retrieved from internal osd ram and shown on osd screen per osd line. total character code bytes stored in osd ram: ?ram horizontal stride? x ?icon ve rtical total? (bytes) total character code bytes retrieved in osd ram: ?icon horizontal total? x ?icon vertical total? x ?character code size? (bytes) where ?ram horizontal stride? is defined by registers #8ch and #a3h. ?icon horizontal total? is defined by register #ach.
AL300 november 28 , 2001 59 ?icon vertical total? is defined by register #adh. ?character code size? is defined by register #88h<6>. please refer to osd screen timing diagram (AL300 - 15) for additional reference. adh: osd2 icon vertical total (r/w) [ic onvtotal2] iconvtotal2 = actual vertical icon total ? 1 iconvtotal2 <7:0> osd2 vertical icon total (unit: 1 icon) icon vertical total defines how many text rows shown on osd screen. total character code bytes stored in osd ram: ?ram horizontal strid e? x ?icon vertical total? (bytes) total character code bytes retrieved in osd ram: ?icon horizontal total? x ?icon vertical total? x ?character code size? (bytes) where ?ram horizontal stride? is defined by registers #8ch and #a3h. ?icon horizon tal total? is defined by register #ach. ?icon vertical total? is defined by register #adh. ?character code size? is defined by register #88h<6>. please refer to osd screen timing diagram (AL300 - 15) for additional reference. afh: osd2 font line size (r/w) [fontlinesize2] fontlinesize2 <7:0> memory size of a line of font (unit: 1 byte) please refer to osd screen timing diagram (AL300 - 15) for additional reference. on screen display color registers: color 0 is the color of pixel with value: ?0? whe n in 1 - bit/2 - color mode or ?00? when in 2 - bit/4 - color mode. color 1 is the color of pixel with value: ?1? when in 1 - bit/ 2 - color mode or ?01? when in 2 - bit/4 - color mode. color 2 is the color of pixel with value ?10? when in 2 - bit, 4 - color mode. color 3 is the color of pixel with value ?11? when in 2 - bit, 4 - color mode. b0h: color 0 red (r/w) [color0red] color0red <7:0> color 0 red component b1h: color 0 green (r/w) [color0green] color0green <7:0> color 0 green component b2h: color 0 blue (r/w) [color0 blue] color0blue <7:0> color 0 blue component b3h: color 1 red (r/w) [color1red] color1red <7:0> color 1 red component b4h: color 1 green (r/w) [color1green]
AL300 november 28 , 2001 60 color1green <7:0> color 1 green component b5h: color 1 blue (r/w) [color1blue] color1blue < 7:0> color 1 blue component b6h: color 2 red (r/w) [color2red] color2red <7:0> color 2 red component b7h: color 2 green (r/w) [color2green] color2green <7:0> color 2 green component b8h: color 2 blue (r/w) [color2blue] color2blue <7:0> color 2 blue c omponent b9h: color 3 red (r/w) [color3red] color3red <7:0> color 3 red component bah: color 3 green (r/w) [color3green] color3green <7:0> color 3 green component bbh: color 3 blue (r/w) [color3blue] color3blue <7:0> color 3 blue component
AL300 november 28 , 2001 61 8.2 prog ramming flowchart interrup? (check reg.#65h or mode change) 1. set reference timing (reg#03h<7>, 41h & 42h) 2. set up osd for warning define proper values for input/output timing based on input signals: - read vtotal(reg.#63h,64h) and linerate(reg.#61h,62h) -read predefined input/output timing values in eeprom or do auto-positioning detection(reg.#70h~7dh) - set input timing registers (reg.#20h~22h, 24h~29h) - set output timing registers (reg.#30h~35h, 37h~3ah) - set zooming/phase/delay registers (reg.#14h~1ah, 3bh and 3ch) - program adc or decoder if necessary - program output pll (reg.#10h~13h) adjust clock phase of the adc (al875) to minimize jitters if necessary wait until output display is stable (delay for 100 ms) enable lcd panel output set reg.#40h = 01h to enable interrupt 1. wait until AL300 stablizes by checking if reg.#00h=46h 2. set reg.#40h=07h to force interrupt 3. initialize video decoder if necessary disable lcd panel output set reg#40h = 00h to clear interrupt video/graphic input exists? (check reg.#61h~64h) yes yes no no AL300-25 programming flowchart_ver b input stable? (check reg.#61h~64h) yes no
AL300 november 28 , 2001 62 9.0 mechanical drawing AL300: 28mm x 28mm 160 - pin 0.65 - pitch pqfp package
AL300 november 28 , 2001 63 10.0 power consumption the AL300 works at single 3.3v power. the following table shows the current consumption of the AL300 (with output buffers to the pan el) at different operating frequencies and supply voltages. output frequency current consumption AL300@3.3v 110mhz 135 ma (typ.) AL300@3.3v 70mhz 95 ma (typ.) AL300@3.3v 50mhz 75 ma (typ.) AL300@3.3v 30mhz 55 ma (typ.) power down 5 ma (typ.) the current consumption may be somewhat higher when the output of the AL300 drives a panel directly. for more information about the AL300 or other averlogic products, please contact your local authorized representatives, visit our website, or contact us direc tly.
contact information averlogic technologies, inc. 6840 via del oro suite 160 san jose, ca 95119 usa tel : 1 408 361 - 0400 fax : 1 408 361 - 0404 e - mail : sales@averlogic.com url : www.averlogic.com


▲Up To Search▲   

 
Price & Availability of AL300

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X